        <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Magistrado_model extends CI_Model{
       
       public function __construct()
        {
        $this->load->library('session');
        $this->load->database();
        }
       
	   
	  

		public function res11()
		{
			$f1=$this->input->post('fechai');
			$f2=$this->input->post('fechaf');
			$tipo=$this->input->post('camara');
			$sql="
							SELECT 
								  expediente.id_expediente, 
								  expediente.fecha_ingreso, 
								  estadoadmin.nombre_estado_admin, 
								  estadojuridico.nombre_estado_juri, 
								  camara.nombre_cam
								FROM 
								  public.expediente, 
								  public.camara, 
								  public.estadoadmin, 
								  public.estadojuridico
								WHERE 
								  camara.id_camara = expediente.id_camara AND
								  estadoadmin.id_estado_admin = expediente.id_estado_admin AND
								  estadojuridico.id_estado_juri = expediente.id_estado_juri and 
								  expediente.fecha_ingreso>'$f1'and expediente.fecha_ingreso<'$f2'
								  and expediente.tipo_apelacion='$tipo'
								  order by camara.nombre_cam;
			";
		
			$query = $this->db->query($sql);
       		
			
			
			
       		return $query->result();
       
		
		}
		
		
		 public function res2()
	   {
	   			$f1=$this->input->post('fechai');
				$f2=$this->input->post('fechaf');
				
	   			$sql="
	   				SELECT 
					  expediente.id_expediente, 
					  expediente.id_estado_juri, 
					  estadojuridico.nombre_estado_juri, 
					  expediente.fecha_ingreso, 
					  expediente.fecha_fin, 
					  expediente.norm_vigente, 
					  expediente.tipo_apelacion
					FROM 
					  public.expediente, 
					  public.estadojuridico
					WHERE 
					  estadojuridico.id_estado_juri = expediente.id_estado_juri  
					ORDER BY
  					expediente.fecha_ingreso ASC;

	   			";
	   			//calcular cuantos todos los anios
	   			
		// and expediente.fecha_ingreso>'$f1'and expediente.fecha_ingreso<'$f2'
				$query = $this->db->query($sql);
				$x=1;
				$cuenta[$x]=0000;
				foreach ($query->result() as $row)
				{
					if(substr($row->fecha_ingreso,0,4)==$cuenta[$x]){
						
					}
					else{
						$cuenta[$x]=substr($row->fecha_ingreso,0,4);
						if($x==1){
							$primer=substr($row->fecha_ingreso,0,4);
						}
						$x++;
						}
						
					
				}
				
//==================================================				
				
				$dia=11;
				$mes=substr($f1,3, 2);;
				$mesi=substr($f1,3, 2);
				$anioi=substr($f1,6, 4);
				$anio=$primer;
				$diaf=11;
				$mesf=substr($f2,3, 2);
				$aniof=substr($f2,6, 4);
				$j=1;				//posicion 1 relacionada con anio de ini
				$contador[$j]=$anioi;//fecha inicio del conteo
				
				for ($a=$primer; $a <=$x; $a++) { 
					for ($m=1; $m <=12 ; $m++) { 
						$entrada[$a][$m]=0;//matrix contara las entradas
						$salida[$a][$m]=0;//matriz contara las salidas a anio m mes
						$acumulado[$a][$m]=0;
					}
					
					
				}
				
						
		//////////LLENAR MATRIZ =============================================================================
				foreach ($query->result() as $row)
				{				
				// echo substr($row->fecha_ingreso,0, 4).'/';  anio
				 //echo substr($row->fecha_ingreso,5, 2).'/';  mes
				 //echo substr($row->fecha_ingreso,8, 2).'/';  dia
				 if((substr($row->fecha_ingreso,0, 4))==$anio)
				 {
									for ($m=1; $m <=12 ; $m++) 
									{												
										if(intval(substr($row->fecha_ingreso,5, 2))==$m)
										{
											$entrada[$anio][$m]=1+$entrada[$anio][$m];
											$m=12;
										}																				
									}				
				 }//fin if1
				else{
						$anio++;
						for ($mm=1; $mm <=12 ; $mm++) 
						{												
										if(intval(substr($row->fecha_ingreso,5, 2))==$mm)
										{
											$entrada[$anio][$mm]=1+$entrada[$anio][$mm];
											$mm=12;
										}													
						}
									
						$anio=substr($row->fecha_ingreso,0,4); 
						 

					}//fin else1
				
				}//fin foreach/-=====================================================================
				///FIN 
		$anio2=$primer;
		//////////LLENAR MATRIZ 
				foreach ($query->result() as $row)
				{				
				// echo substr($row->fecha_ingreso,0, 4).'/';  anio
				 //echo substr($row->fecha_ingreso,5, 2).'/';  mes
				 //echo substr($row->fecha_ingreso,8, 2).'/';  dia
				 if((substr($row->fecha_ingreso,0, 4))==$anio2)
				 {
									for ($m=1; $m <=12 ; $m++) 
									{												
										if(intval(substr($row->fecha_ingreso,5, 2))==$m)
										{
											$salida[$anio2][$m]=1+$salida[$anio2][$m];
											$m=12;
										}																				
									}				
				 }//fin if1
				else{
						$anio2++;
						for ($mm=1; $mm <=12 ; $mm++) 
						{												
										if(intval(substr($row->fecha_ingreso,5, 2))==$mm)
										{
											$salida[$anio2][$mm]=1+$salida[$anio2][$mm];
											$mm=12;
										}													
						}
									
						$anio=substr($row->fecha_ingreso,0,4); 
						 

					}//fin else1
				
				}//fin foreach-====================================================================
		
		
		
		
			
				//IMPRIMIR
						
					$tabla="<table border='1'><tr>";
							
					for ($a=$anioi; $a<=$aniof ; $a++) {
					$tabla.="<td colspan='3'> ".$a."</td>";									
									
					  }
					$tabla.="</tr><tr>";
					for ($a=$anioi; $a <=$aniof ; $a++) {
					$tabla.="<td>Ingreso</td>
							 <td>Salida</td>
							 <td>Acumulado</td>";											
					  }
					$tabla.="</tr>";		
				
			
				
				
				for ($me=1; $me <=12; $me++) {
					$tabla.="<tr>";	
					
					for ($a=$anioi; $a <=$aniof; $a++) {	
					$tabla.="
							<td>".$entrada[$a][$me]."</td>
							<td>".$salida[$a][$me]."</td>
							<td>".$acumulado[$a][$me]."</td>
							";
					}
								
					$tabla.="</tr>";	
				}
				$tabla.="</table>";
				
		
				return $tabla;
				

		   
	   }//fin res2 
	   
		 public function res3()
	   {
	   		$f1=$this->input->post('fechai');
			$f2=$this->input->post('fechaf');
	   	$sql="
	   			SELECT 
				  camara.nombre_cam, 
				  camara.id_camara,
				  expediente.tipo_apelacion, 
				  expediente.norm_vigente, 
				  estadojuridico.nombre_estado_juri
				FROM 
				  public.expediente, 
				  public.camara, 
				  public.estadojuridico
				WHERE 
				  camara.id_camara = expediente.id_camara AND
				  estadojuridico.id_estado_juri = expediente.id_estado_juri and 
				  expediente.fecha_ingreso>'$f1'and expediente.fecha_ingreso<'$f2'
				   order by camara;";
				  
		   	$query = $this->db->query($sql);
			
			$camara="SELECT 
  					  camara.id_camara, 
					  camara.nombre_cam
					FROM 
					  public.camara order by id_camara;
								";
			$cam = $this->db->query($camara);
			
			
			//inicializando a cero
			$c=1;
			foreach ($cam->result() as $row)
				{
					$camara[$c]=$row->id_camara;
					$nombre[$c]=$row->nombre_cam;
					
					
					
					for($i=1;$i<=3;$i++){
						$tipo[$c][$i]=0;
					}
					for($k=1;$k<=6;$k++){
						$estado[$c][$k]=0;
						
					}
					
					for($j=1;$j<=2;$j++){
						$vigente[$c][$j]=0;
					}
					$c=$c+1;
					
					//echo $row->id_camara;
				}
				
				//conteo
				$id=$camara[1];
				
				foreach ($query->result() as $row2)
				{
							if($row2->id_camara==$id){
										
									switch ($row2->tipo_apelacion) {
										case '1':
												$tipo[$id]['1']+=1;
											break;
										case '2':
												$tipo[$id]['2']+=1;
											break;
										
										case '3':
												$tipo[$id]['3']+=1;
											break;
										
										
										default:
											
											break;
									}
									
									switch ($row2->nombre_estado_juri) {
										case 'ESTADO JURIDICO 1':
												$estado[$id]['1']+=1;
											break;
										case 'ESTADO JURIDICO 2':
												$estado[$id]['2']+=1;
											break;
										
										case 'ESTADO JURIDICO 3':
												$estado[$id]['3']+=1;
											break;
										case 'ESTADO JURIDICO 4':
												$estado[$id]['4']+=1;
											break;
										case 'ESTADO JURIDICO 5':
												$estado[$id]['5']+=1;
											break;
										
										case 'ESTADO JURIDICO 6':
												$estado[$id]['6']+=1;
											break;
										
										
										default:
											
											break;
									}
									if($row2->norm_vigente=='t')
									{
										$vigente[$id]['1']+=1;
									}
									else{
										$vigente[$id]['2']+=1;
									}
								
								
								
							}//fin if
							else
							{
												
									$id=$row2->id_camara;		
									
										
									switch ($row2->tipo_apelacion) {
										case '1':
												$tipo[$id]['1']+=1;
											break;
										case '2':
												$tipo[$id]['2']+=1;
											break;
										
										case '3':
												$tipo[$id]['3']+=1;
											break;
										
										
										default:
											
											break;
									}
									switch ($row2->nombre_estado_juri) {
										case 'ESTADO JURIDICO 1':
												$estado[$id]['1']+=1;
											break;
										case 'ESTADO JURIDICO 2':
												$estado[$id]['2']+=1;
											break;
										
										case 'ESTADO JURIDICO 3':
												$estado[$id]['3']+=1;
											break;
										case 'ESTADO JURIDICO 4':
												$estado[$id]['4']+=1;
											break;
										case 'ESTADO JURIDICO 5':
												$estado[$id]['5']+=1;
											break;
										
										case 'ESTADO JURIDICO 6':
												$estado[$id]['6']+=1;
											break;
										
										
										default:
											
											break;
									}
									if($row2->norm_vigente=='t')
									{
										$vigente[$id]['1']+=1;
									}
									else{
										$vigente[$id]['2']+=1;
									}
									
									
									
							}//fin else		
					
				}//fin foreach
				
		
			//imprimir
				$tabla="<table border='1'><tr>
						<td>Camara</td>
						<td>Civil</td>
						<td>Mercantil</td>
						<td>Laboral</td>
						<td>Estado Juridico1</td>
						<td>Estado Juridico2</td>
						<td>Estado Juridico3</td>
						<td>Estado Juridico4</td>
						<td>Estado Juridico5</td>
						<td>Estado Juridico6</td>
						<td>Normativa vigente</td>
						<td>No vigente</td>
						<td>Total por Camara</td>
				
				</tr>";
				
			for($i=1;$i<=$c-1;$i++){
					$tabla.="<tr>	
					<td>".$nombre[$i]."</td>
					<td>".$tipo[$camara[$i]]['1']."</td>
					<td>".$tipo[$camara[$i]]['2']."</td>
					<td>".$tipo[$i]['3']."</td>
					<td>".$estado[$i]['1']."</td>
					<td>".$estado[$i]['2']."</td>
					<td>".$estado[$i]['3']."</td>
					<td>".$estado[$i]['4']."</td>
					<td>".$estado[$i]['5']."</td>
					<td>".$estado[$i]['6']."</td>
					<td>".$vigente[$i]['1']."</td>
					<td>".$vigente[$i]['2']."</td>
					<td>".($estado[$i]['1']+$estado[$i]['2']+$estado[$i]['3']+$estado[$i]['4']+$estado[$i]['5']+$estado[$i]['6'])."</td>
					</tr>";			
	
				
			}
			$tabla.="</table>";
			
			return $tabla;
		
	   }
	   
		 public function res4()
	   {
	   	$lim=$this->input->post('num');
	   	$sql="SELECT 
				  expediente.id_expediente,
				  expediente.tipo_apelacion,
				  expediente.fecha_ingreso,
				  estadoadmin.nombre_estado_admin, 
				  estadojuridico.nombre_estado_juri, 
				  camara.nombre_cam,(now()-expediente.fecha_ingreso) as tiempo
				FROM 
				  public.expediente, 
				  public.camara, 
				  public.estadojuridico, 
				  public.estadoadmin
				WHERE 
				 camara.id_camara = expediente.id_camara AND
				  estadojuridico.id_estado_juri = expediente.id_estado_juri AND 
				  expediente.fecha_fin is null and
				  estadoadmin.id_estado_admin = expediente.id_estado_admin order by tiempo desc limit '$lim';";
				  
				  
				  $query = $this->db->query($sql);
			
			$tabla="<table border='1'><tr>
						<td>Id Expediente</td>
						<td>Tipo de Apelacion</td>
						<td>Fecha de entrada</td>
						<td>Estado Juridico</td>
						<td>Estado Administrativo</td>
						<td>Camara de procedencia</td>
						<td>Tiempo de Espera</td>

				</tr>";
				
	   	foreach ($query->result() as $row)
				{
					$tipo='';
					switch ($row->tipo_apelacion) {
						case '1':
							$tipo='Laboral';
							break;
						case '2':
							$tipo='Civil';
							break;
						case '3':
							$tipo='Mercantil';
							break;
						
						default:
							$tipo='sin tipo';
							break;
					}
					
					
					$anios=floor($row->tiempo/365);	
					$dia=0;
					$dia=$row->tiempo%365;
					
											
		$tabla.="<tr>	
					<td>".$row->id_expediente."</td>
					<td>".$tipo."</td>
					<td>".$row->fecha_ingreso."</td>
					<td>".$row->nombre_estado_juri."</td>
					<td>".$row->nombre_estado_admin."</td>
					<td>".$row->nombre_cam."</td>
					<td>".$anios." años ".$dia." dias</td>
					
				</tr>";
					
				}
				$tabla.="</table>";
				return $tabla;

		   
	   }
	   
		 public function res5()
	   {
	   		$lim=$this->input->post('num');
	   			$sql="
					SELECT 
					  expediente.id_expediente, expediente.fecha_ingreso,expediente.fecha_fin,
					  camara.nombre_cam, ((expediente.fecha_fin- 
					  expediente.fecha_ingreso)) as tiempo
					FROM 
					  public.expediente, 
					  public.camara, 
					  public.estadojuridico, 
					  public.estadoadmin
					WHERE 
					  camara.id_camara = expediente.id_camara AND
					  estadojuridico.id_estado_juri = expediente.id_estado_juri AND expediente.fecha_fin is not null and
					  estadoadmin.id_estado_admin = expediente.id_estado_admin order by tiempo desc
					  limit '$lim';";
	   		
	   		$query = $this->db->query($sql);
			
			$tabla="<table border='1'><tr>
						<td>Id Expediente</td>
						<td>Fecha de entrada</td>
						<td>Fecha de salida</td>
						<td>Tiempo de Resolucion</td>

				</tr>";
				
	   	foreach ($query->result() as $row)
				{
					$anios=floor($row->tiempo/365);	
					$dia=0;
					$dia=$row->tiempo%365;
					
											
		$tabla.="<tr>	
					<td>".$row->id_expediente."</td>
					<td>".$row->fecha_ingreso."</td>
					<td>".$row->fecha_fin."</td>
					<td>".$anios." años ".$dia." dias</td>
					
				</tr>";
					
				}
				$tabla.="</table>";
				return $tabla;

		   
	   }
		
		
    }
